package cn.iocoder.yudao.module.system.controller.admin.seatreserve.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 座位预定信息新增/修改 Request VO")
@Data
public class SeatReserveSaveReqVO {

    @Schema(description = "预定状态")
    private Integer reserveStatus;

    @Schema(description = "签到时间")
    private LocalDateTime signTime;

    @Schema(description = "预定ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long id;

    @Schema(description = "办公室ID")
    private Long officeId;

    @Schema(description = "预定时间段")
    private String reserveTime;

    @Schema(description = "取消用户ID")
    private Long cancelUserid;

    @Schema(description = "取消时间")
    private LocalDateTime cancelTime;

    @Schema(description = "是否签到")
    private Integer isSign;

    @Schema(description = "预定用户", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "预定用户不能为空")
    private String reserverUsername;

    @Schema(description = "取消人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String cancelUsername;

    @Schema(description = "座位id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "座位id不能为空")
    private Long seatId;

    @Schema(description = "座位编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long seatNum;

    @Schema(description = "座位名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String seatName;

    @Schema(description = "座位区域")
    private String seatRegion;
    @Schema(description = "预定用户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "预定用户ID不能为空")
    private Long reserverUserid;

    @Schema(description = "预定日期")
    @NotNull(message = "预定日期不能为空")
    private LocalDateTime reserveDate;

}